const express = require('express')

//创建 express 的服务器实例
const app = express()
//导入处理 querysting 的node.js 内置模块
const qs = require('querystring')


//这是解析表单数据的中间件
app.use((req,res,next) =>{
    //定义中间件具体的业务逻辑
    //1.定义一个 str 字符串，专门用来存储客户端发送过来的请求体数据
    let str = ''
    //2.监听 req 的 data 事件
    req.on('data',(chunk) =>{
        str += chunk
    })
    //3.监听 req 的 end 事件
    req.on('end', () =>{
    // 在str中存放的完整的请求体数据
    //  console.log(str)
    // TODO:把字符串格式的请求体数据，解析成对象格式
    const body = qs.parse(str)
    // console.log(body)
    req.body = body
    next()
    })
})

app.post('/user',(req,res) =>{

    res.send(req.body)
})

//指定端口号并启动 web 服务器
app.listen(3000,() =>{
    console.log('http://localhost:3000')
  })